<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:ui="http://java.sun.com/jsf/facelets"
      xmlns:p="http://primefaces.org/ui"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:f="http://java.sun.com/jsf/core"
      xmlns:bi="http://java.sun.com/jsf/composite/bill">

    <h:body>
        <ui:composition template="/resources/template/template.xhtml">
            <ui:define name="content">
                <h:panelGroup rendered="#{webUserController.hasPrivilege('LabBillReturning')}" >

                    <h:form>
                        <h:panelGroup rendered="#{!billSearch.printPreview}" styleClass="alignTop" >
                            <p:panel  header="Cancellation">
                                <p:selectOneMenu   id="cmbPs" value="#{billSearch.paymentMethod}"  
                                                   disabled="#{billSearch.bill.paymentMethod eq 'Cash'}" rendered="#{billSearch.bill.billType eq 'OpdBill'}">
                                    <f:selectItem itemLabel="Select paymentMethod"/>
                                    <f:selectItems value="#{enumController.paymentMethods}"/>
                                </p:selectOneMenu>

                                <p:selectOneMenu   id="cmbPs2" value="#{billSearch.paymentMethod}"  
                                                   disabled="#{billSearch.bill.paymentMethod eq 'Agent'}" rendered="#{billSearch.bill.billType eq 'CollectingCentreBill'}">
                                    <f:selectItem itemLabel="Select paymentMethod"/>
                                    <f:selectItems value="#{enumController.collectingCentrePaymentMethods}"/>
                                </p:selectOneMenu>
                                <p:commandButton ajax="false" value="Refund" action="#{billSearch.refundBill()}"
                                                 onclick="if (!confirm('Are you sure you want to Refund This Bill ?'))
                                                             return false;">
                                </p:commandButton>                               
                            </p:panel>
                            <p:panelGrid columns="2" style="width: 100%;">
                                <p:panel header="Patient Detail">
                                    <p:panelGrid columns="2">
                                        <h:outputLabel value="Patient ​Name:" ></h:outputLabel>
                                        <h:outputLabel value="#{billSearch.bill.patient.person.nameWithTitle }" ></h:outputLabel>
                                        <h:outputLabel value="Age" />
                                        <h:outputLabel value="#{billSearch.bill.patient.age}"  />
                                        <h:outputLabel value="Sex" >
                                        </h:outputLabel>
                                        <h:outputLabel value="#{billSearch.bill.patient.person.sex}" >
                                        </h:outputLabel>
                                        <h:outputLabel value="Phone" >
                                        </h:outputLabel>
                                        <h:outputLabel value="#{billSearch.bill.patient.person.phone}" >
                                        </h:outputLabel>
                                    </p:panelGrid>
                                </p:panel>
                                <p:panel header="Bill Detail">
                                    <p:panelGrid columns="2">
                                        <h:outputLabel value="Bill No :" ></h:outputLabel>
                                        <h:outputLabel value="#{billSearch.bill.insId}" ></h:outputLabel>
                                        <h:outputLabel value="Total :" ></h:outputLabel>
                                        <h:outputLabel value="#{billSearch.bill.total}" ></h:outputLabel>
                                        <h:outputLabel value="Discount :" ></h:outputLabel>
                                        <h:outputLabel value="#{billSearch.bill.discount}" ></h:outputLabel>
                                        <h:outputLabel value="Net Total :" ></h:outputLabel>
                                        <h:outputLabel value="#{billSearch.bill.netTotal}" ></h:outputLabel>
                                        <h:outputLabel style="font-weight: bold;" value="Total Refund" >
                                        </h:outputLabel>
                                        <h:outputLabel id="txtTotal" style="font-weight: bold;" value="#{billSearch.refundAmount}" >
                                        </h:outputLabel>
                                    </p:panelGrid>
                                </p:panel>
                            </p:panelGrid>

                            <p:panel header="Bill Item Detail">
                                <p:dataTable id="dtF" rowIndexVar="rowIndex" value="#{billSearch.billItems}" var="b" 
                                             rowKey="#{b.id}" selection="#{billSearch.refundingItems}"  >


                                    <p:ajax event="rowSelectCheckbox" listener="#{billSearch.calculateRefundTotal()}" 
                                            update=":#{p:component('txtTotal')}" process="colSelect dtF"      />  
                                    <p:ajax event="rowUnselectCheckbox" listener="#{billSearch.calculateRefundTotal()}" 
                                            update=":#{p:component('txtTotal')}" process="colSelect dtF"      />  
                                    <p:ajax event="toggleSelect" listener="#{billSearch.calculateRefundTotal()}" 
                                            update=":#{p:component('txtTotal')}" process="colSelect dtF"      />  

                                    <p:column id="colSelect"   selectionMode="multiple"  disabledSelection="#{b.refunded==true}"  >
                                    </p:column>

                                    <p:column >
                                        <f:facet name="header">No</f:facet>
                                        <h:outputLabel value="#{rowIndex+1}" />
                                    </p:column>

                                    <p:column >
                                        <f:facet name="header">ID</f:facet>
                                        <h:outputLabel value="#{b.id}"/>
                                    </p:column>

                                    <p:column >
                                        <f:facet name="header">ID</f:facet>
                                        <h:outputLabel value="#{b.id}"/>
                                    </p:column>

                                    <p:column >
                                        <f:facet name="header">Item Name</f:facet>
                                        <h:outputLabel value="#{b.item.name}"/>
                                    </p:column>
                                    <p:column >
                                        <f:facet name="header">Fee Value</f:facet>
                                        <h:outputLabel value="#{b.netValue}"/>
                                    </p:column >
                                    <p:column headerText="Refunded" >
                                        <h:outputLabel  value="#{b.refunded}" />
                                    </p:column>
                                </p:dataTable>
                            </p:panel>
                            <p:panel header="Comments">
                                <h:inputTextarea value="#{billSearch.comment}"/>                            
                            </p:panel>
                        </h:panelGroup>

                        <h:panelGroup rendered="#{billSearch.printPreview}" >
                            <p:panel rendered="#{billSearch.bill.billType ne 'CollectingCentreBill'}">
                                <h:panelGroup id="gpBillPreview" rendered="#{sessionController.loggedPreference.printLabelForOPdBill eq false}">
                                    <div class="nonPrintBlock">
                                        <p:commandButton value="Print" ajax="false" action="#"  >
                                            <p:printer target="gpBillPreview" ></p:printer>
                                        </p:commandButton>
                                    </div>
                                    <ui:repeat value="#{billSearch.bill}" var="b">
                                        <bi:opdBillPrintRuhunu bill="#{b}" dup="false"/>
                                    </ui:repeat>

                                </h:panelGroup>

                                <h:panelGroup id="gpBillPreviewCoop" rendered="#{sessionController.loggedPreference.printLabelForOPdBill eq true}">
                                    <div class="nonPrintBlock">
                                        <p:commandButton value="Print" ajax="false" action="#"  >
                                            <p:printer target="gpBillPreviewCoop" ></p:printer>
                                        </p:commandButton>
                                    </div>
                                    <ui:repeat value="#{billSearch.bill}" var="b">
                                        <bi:opdBillPrintCoop bill="#{b}" refund="true"/>
                                    </ui:repeat>

                                </h:panelGroup>
                            </p:panel>
                            <p:panel rendered="#{billSearch.bill.billType eq 'CollectingCentreBill'}">
                                <h:panelGroup rendered="#{sessionController.loggedPreference.opdBillPaperType eq 'FiveFivePaper'}" >
                                    <h:panelGroup id="gpBillPreviewCC" rendered="#{sessionController.loggedPreference.printLabelForOPdBill eq false
                                                                                   and sessionController.loggedPreference.applicationInstitution eq 'Ruhuna'
                                                                                   and sessionController.loggedPreference.fiveFivePaperWithHeadings eq false}">
                                        <div class="nonPrintBlock">
                                            <p:commandButton value="Print" ajax="false" action="#"  >
                                                <p:printer target="gpBillPreviewCC" ></p:printer>
                                            </p:commandButton>
                                        </div>
                                        <bi:opdCCBillPrintRuhunu bill="#{billSearch.bill}" dup="true"/>
                                        <!--  <br/>
                                                                <h:panelGroup >
                                                                    <bi:opdBillPrintRuhunu bill="#{billSearch.bill.cancelledBill}" />                        
                                                                </h:panelGroup>-->

                                    </h:panelGroup>
                                    <h:panelGroup id="gpBillPreviewCC1" rendered="#{sessionController.loggedPreference.printLabelForOPdBill eq false
                                                                                   and sessionController.loggedPreference.applicationInstitution eq 'Ruhuna'
                                                                                   and sessionController.loggedPreference.fiveFivePaperWithHeadings eq false}">
                                        <div class="nonPrintBlock">
                                            <p:commandButton value="Print" ajax="false" action="#"  >
                                                <p:printer target="gpBillPreviewCC1" ></p:printer>
                                            </p:commandButton>
                                        </div>
                                        <bi:opdCCBillPrintRuhunu_1 bill="#{billSearch.bill}" dup="true"/>
                                        <!--  <br/>
                                                                <h:panelGroup >
                                                                    <bi:opdBillPrintRuhunu bill="#{billSearch.bill.cancelledBill}" />                        
                                                                </h:panelGroup>-->

                                    </h:panelGroup>
                                </h:panelGroup>
                            </p:panel>
                        </h:panelGroup>

                    </h:form>
                </h:panelGroup>   

            </ui:define>

        </ui:composition>

    </h:body>
</html>
